package 中国.杨森.实验室.jpa;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import org.junit.Test;

public class Where条件 extends A操作
{
	private void 增(int size)
	{
		for (int i = 0; i < size; i++)
		{
			学生 xs = new 学生();
			xs.set姓名("学生" + i);
			xs.set年龄((short) i);
			xs.set创建时间(LocalDateTime.now());
			em.persist(xs);
		}
	}

	@Test
	public void 查_in()
	{
		增(10);

		CriteriaBuilder cb = em.getCriteriaBuilder();
		CriteriaQuery<学生> cq = cb.createQuery(学生.class);
		Root<学生> root = cq.from(学生.class);
		cq.select(root);

		List<Integer> ids = new ArrayList<>();
		ids.add(2);
		ids.add(4);

		cq.where(root.get(学生_.id).in(ids));

		List<学生> list = em.createQuery(cq).getResultList();
		for (int i = 0; i < list.size(); i++)
		{
			System.out.println(list.get(i).get姓名());
		}
	}
}
